package com.transitwidget.receiver; import com.transitwidget.PredictionWidgetProvider; import com.transitwidget.prefs.NextBusObserverConfig; import com.transitwidget.service.AlarmSchedulerService; import com.transitwidget.utils.TimeUtils; import android.appwidget.AppWidgetManager; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.text.format.DateFormat; import android.util.Log; public class WakeupReceiver extends BroadcastReceiver { private static final String TAG = WakeupReceiver.class.getName(); @Override public void onReceive(Context ctx, Intent intent) { Log.i(TAG, "onReceive: " + intent.getAction()); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(ctx); int[] widgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(ctx, PredictionWidgetProvider.class)); for (int widgetId : widgetIds) { NextBusObserverConfig config = new NextBusObserverConfig(ctx, widgetId); Log.i(TAG, "Reset alarm for widget " + widgetId + " to " + DateFormat.format("h:mmaa", TimeUtils.getCalendarWithTimeFromMidnight(config.getStartObserving()))); Intent serviceIntent = new Intent(ctx, AlarmSchedulerService.class); serviceIntent.putExtra(AlarmSchedulerService.EXTRA_WIDGET_ID, widgetId); serviceIntent.putExtra(AlarmSchedulerService.EXTRA_DAY_START_TIME, config.getStartObserving()); ctx.startService(serviceIntent); } } }